package CompositedPattern.demo;

import java.util.ArrayList;
import java.util.List;

/**
 * @author： pang-yun
 * @date： 2021-12-27 14:25
 * 功能目的 ：用于   树枝构件，是组合中的分支节点对象，它有子节点，用于继承和实现 抽象构件，主要是 存储和 管理子部件
 */

public class University extends OrganizedComponent {

    // 用于存放几个学院
    List<OrganizedComponent> organizedComponents = new ArrayList<>();

    public University(String name, String desc) {
        super(name, desc);
    }

    @Override
    public void add(OrganizedComponent organizedComponent) {
        organizedComponents.add(organizedComponent);
    }

    @Override
    public void remove(OrganizedComponent organizedComponent) {
        organizedComponents.remove(organizedComponent);
    }


    @Override
    public void print() {
        System.out.println("----------"+getName()+"----------");
        organizedComponents.stream().forEach(OrganizedComponent::print);
    }
}
